
class MyTread extends Thread {
    @Override
    public void run() {
        while (true) {
            System.out.println("hello thread");
            try {
                // 这里只能 try catch, 不能 throws.
                // 此处是方法重写. 对于父类的 run 方法来说, 就没有 throws xxx 异常这样的设定.
                // 在重写的时候, 也就不能 throws 异常了.
                //但是可以try catch中进行抛出
                Thread.sleep(1000);
            } catch (InterruptedException e) {
                throw new RuntimeException(e);
            }
        }
    }
}

public class Demo1 {
    public static void main(String[] args) throws InterruptedException {
        MyTread myTread = new MyTread();
        //调用 start 方法启动线程,会完成线程对于的创建等一系列操作,然后由新线程来完成run中的任务
        myTread.start();
        //还是当前线程完成的操作,不会创建对应的线程
        //myTread.run();

        while(true) {
            System.out.println("hello main");
            Thread.sleep(1000);
        }
    }
}
